<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /**
            ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript语言的第七种数据类型，是一种
            类似于字符串的数据类型。

            Symbol特点:
            (1)Symbol的值是唯一的，用来解决命名冲突的问题，不能做四则运算
            (2)Symbol值不能与其他数据进行运算
            (3)Symbol定义的对象属性不能使用for ... in 循环遍历，
                但是可以使用Reflect.ownKeys来获取对象的所有键名。
        */
        
        //创建Symbol
        let s = Symbol();
        console.log(s, typeof s);
        
        let s2 = Symbol('尚硅谷');
        let s3 = Symbol('尚硅谷');
        console.log(s2 === s3); //false

        //Symbol.for创建
        let s4 = Symbol.for('尚硅谷');
        let s5 = Symbol.for('尚硅谷');
        console.log(s4, typeof s4);
        console.log(s4 === s5); //true

        //Symbol不能与其他数据进行运算
        
        //USONB you are so niubility
        //u undefined
        //s string symbol
        //o object
        //n null number
        //b boolean
    </script>
</body>
</html>